package com.nengchuan.kbms.dfs.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * <b>Description:</b><br>
 * 用户文件操作注解
 * @author Abe
 * @version 1.0
 * <br><b>Date:</b> 2020/4/1 10:35
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface UserOperateLogger {

    /**
     * 操作类型
     */
    Type type();

    /**
     * 用户操作类型
     */
    enum Type {

        /** 文件(夹)新增 */
        CREATE("create"),
        CREATE_FOLDER("create"),

        /** 文件（夹）修改 */
        UPDATE("update"),
        UPDATE_FOLDER("update"),

        /** 文件（夹）删除 */
        DELETE("delete"),
        DELETE_FOLDER("delete"),

        /** 收藏 */
        COLLECT("collect"),

        /** 分享 */
        SHARE("share"),

        /** 预览 */
        PREVIEW("preview"),

        /** 下载 */
        DOWNLOAD("download");

        public final String value;

        Type(String value) {
            this.value = value;
        }

    }
}
